home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
dl_serie
/
updates
/
040
/
kndpslib.ps
< prev
Wrap
Text File
|
1995-11-25
|
6KB
|
279 lines
%%BeginProlog
%%BeginProcSet: "KandinskY-builtin-GEM-prologue" "(0.0)" ""
/KDdict 60 dict def
KDdict begin
/Reencsmalldict 12 dict def
/ReEncodeSmall
{ Reencsmalldict begin
/newcodesandnames exch def
/newfontname exch def
/basefontname exch def
/basefontdict basefontname findfont def
/newfont basefontdict maxlength dict def
basefontdict
{ exch dup /FID ne
{ dup /Encoding eq
{ exch dup length array copy newfont 3 1 roll put }
{ exch newfont 3 1 roll put }
ifelse
}
{ pop pop }
ifelse
} forall
newfont /FontName newfontname put
newcodesandnames aload pop
newcodesandnames length 2 idiv
{ newfont /Encoding get 3 1 roll put }
repeat
newfontname newfont definefont pop
end
} def
/germvec [
8#201 /udieresis
8#204 /adieresis
8#216 /Adieresis
8#224 /odieresis
8#231 /Odieresis
8#232 /Udieresis
8#236 /germandbls
] def
%Prozeduren für Füllmuster aus dem Buch
%"PostScript - Einführung und Leitfaden A", S. 229ff
/SetUserScreenDict
22 dict def
SetUserScreenDict begin
/FindResolution
{ 72 0 matrix defaultmatrix
dtransform
/YRes exch def
/XRes exch def
XRes dup mul
YRes dup mul add sqrt
} def
end
/SetUserScreen
{ SetUserScreenDict begin
/Spotfunction exch def
/Screenangle exch def
/Cellsize exch def
gsave
Screenangle rotate
Cellsize dup scale
1 0 dtransform
grestore
/Y1 exch def
/X1 exch def
/Veclength X1 dup mul
Y1 dup mul add sqrt def
/Frequency FindResolution
Veclength div def
/NewScreenangle
Y1 X1 atan def
Frequency NewScreenangle
/Spotfunction load
setscreen
end
} def
/SetPatternDict 18 dict def
SetPatternDict begin
/BitIsOn
{ /YBit exch def
/XBit exch def
/Bytevalue Bstring
YBit Bwidth mul
XBit 8 idiv
add get def
/Mask 1 7 XBit 8 mod
sub bitshift def
Bytevalue Mask and 0 ne
} def
end
/BitpatternSpotfunction
{ SetPatternDict begin
/Y exch def
/X exch def
/XIndex X 1 add 2 div
BPSide mul cvi def
/YIndex Y 1 add 2 div
BPSide mul cvi def
XIndex YIndex BitIsOn
{ /OnBits OnBits
1 add def 1 }
{ /OffBits OffBits
1 add def 0 }
ifelse
end
} def
/SetPattern
{ SetPatternDict begin
/Cellsz exch def
/Angle exch def
/Bwidth exch def
/BPSide exch def
/Bstring exch def
/OnBits 0 def
/OffBits 0 def
Cellsz Angle
/BitpatternSpotfunction load
SetUserScreen
{} settransfer
OffBits OffBits OnBits
add div setgray
end
} def
%Eingabe: string
%Ausgabe: Unterstreichung
/ul
{ dup stringwidth pop 0 gsave 0.4 setlinewidth
currentpoint newpath moveto 0 -2 padj rmoveto padj rlineto
closepath stroke grestore
}def
%Eingabe: string
%Gibt string als Outline aus
/KDoshow
{ gsave currentpoint newpath moveto 0.2 setlinewidth false
charpath closepath stroke
}def
%Eingabe: string breite wordspace? underline?
%Gibt string ggf. unterstrichen ggf. in breite durch Dehnung der
%Wortzwischenräume aus
/KDwtextdict 5 dict def
/KDwtext
{
/str exch def /strwd exch def /nsp exch def /underl exch def
str stringwidth pop /pstrwd exch def
underl { gsave 0.4 setlinewidth currentpoint newpath
moveto 0 -2 padj rmoveto strwd 0 padj rlineto
closepath stroke grestore } if
nsp 0 ne
{ strwd pstrwd sub nsp div 0 8#040 str widthshow }
{ str show } ifelse
} bind def
%Eingabe: string breite underline?
%Gibt string ggf. unterstrichen in breite durch Dehnung der
%Buchstabenzwischenräume aus
/KDatextdict 4 dict def
/KDatext
{
KDatextdict begin
/str exch def /strwd exch def /underl exch def
str stringwidth pop /pstrwd exch def
underl { gsave 0.4 setlinewidth currentpoint newpath
moveto 0 -2 padj rmoveto strwd 0 padj rlineto
closepath stroke grestore } if
strwd pstrwd sub str length dup 1 gt { 1 sub } if div 0 str ashow
end
}def
%Eingabe: spitze(x,y) schwanz(x,y) laenge
%Ausgabe: Pfeil
/KDarrowdict 7 dict def
/KDarrow
{ KDarrowdict begin
/leg exch def /taily exch def /tailx exch def
/tipy exch def /tipx exch def
gsave
1 setlinecap
newpath
tipx tipy translate
taily tipy sub /num exch def
tailx tipx sub /den exch def
num den eq den 0 eq and { /num 1 def } if
num den atan 16 sub rotate
leg 0 moveto 0 0 lineto
32 rotate
leg 0 lineto
closepath fill
grestore
end
}bind def
%Eingabe: Markerhöhe
%Ausgabe: Kreuz der Höhe Markerhöhe
/KDmarkdict 2 dict def
/KDmarkpoint
{ KDmarkdict begin
dup 2 div /h2 exch def /h exch def
moveto h2 h2 rmoveto h neg h neg rlineto 0 h rmoveto h h neg rlineto
stroke
end
}def
/KDline{ newpath moveto lineto stroke }def
/KDpolydict 1 dict def
/KDpoly
{ KDpolydict begin
/n exch def
moveto
2 1 n{ pop lineto }for
end
}def
/KDboxdict 2 dict def
/KDbox
{ KDboxdict begin
/h exch def /w exch def
moveto
w 0 rlineto
0 h rlineto
w neg 0 rlineto
closepath
end
}def
/KDrboxdict 5 dict def
/KDrbox
{ KDrboxdict begin
/r exch def /y2 exch def /x2 exch def
/y1 exch def /x1 exch def
x1 y2 r sub moveto
x1 y1 x2 y1 r arcto
x2 y1 x2 y2 r arcto
x2 y2 x1 y2 r arcto
x1 y2 x1 y1 r arcto
closepath
end
}def
/KDarcdict 7 dict def
/KDarc
{ KDarcdict begin
/ea exch def /ba exch def /ry exch def /rx exch def
/y exch def /x exch def
/savematrix matrix currentmatrix def
x y translate
rx ry neg scale
0 0 1 ba ea arc
savematrix setmatrix
end
}def
/KDpatscale 1 def
/KDpatmul{ KDpatscale mul }def
/KDpoint{ 72 div 254 mul }def
/KDmm{ 254 div 72 mul }def
/KDcharheight 12 KDmm def
end
%%EndProcSet
%%EndProlog
%%Page: 1 1
KDdict begin